1. Field of the Invention
This invention relates to digital electronic state-machines and, in particular, to single-chip fuse programmable state-machines.
2. Description of the Prior Art
A state machine is a digital device which provides predetermined output logic states in response to certain input states. State machines have been designed using discrete digital logic gates and flip-flops. A design technique called microprogramming allows the logic gates and flip-flops to be replaced by memory elements such as read-only memories (ROMs) and fuse programmable logic arrays (FPLAs).
A microprogrammed control unit is a state machine which, in its simplest form includes only a read-only memory ROM and an address register. The address register supplies parallel addresses to the ROM address input terminals. The ROM stores a sequence of microinstruction code words, each having two fields. The first field is a control field which contains the control bits to be delivered to whatever external system is being controlled. Such an external system is, for example, the arithmetic logic unit ALU of a computer system. The second field of a microinstruction code word contains the next ROM address, that is the address for the next microinstruction code word.
Microprogram controllers, sometimes called address sequencers, have evolved to replace the address register included in the above-described microprogrammed control unit. An address sequencer reduces the ROM memory size by eliminating the need for storage in the ROM of that part of a microinstruction code word which contains the next ROM address. The address register is replaced with an integrated circuit microprogram controller, or address sequencer, such as the Am2910 Microprogram Controller produced by Advanced Micro Devices, Inc., Sunnyvale, Calif., which, for example, controls the execution sequence of the microinstructions stored in another integrated circuit, such as a ROM. In addition to providing sequential access to the appropriate ROM memory locations, the Am2910 can provide conditional branching to any one of 4096 microinstructions stored in the memory. For each microinstruction, the Am2910 provides a 12-bit address to an external microprogram memory from any one of four different sources: a microprogram address counter-register, an external input, a loop counter, and a stack register.
Microprogram address sequencers such as the Am2910 described above are separately packaged integrated circuits which are combined with a number of other separately packaged memory devices, such as a ROM and a number of support and interface integrated circuits, to form a chip set which functions as a control unit for an arithmetic logic unit (ALU) of a computer system. Obviously, providing a multiple chip set by using a number of discrete integrated circuits results in a large number of integrated circuit pins which must be interconnected with printed circuit boards and the like with attendant production and utilization costs. These costs include the cost of the circuit board and design costs such as layout power for each integrated circuit, consumption of space within a system, handling, and the like. Clearly, elimination of a number of separate integrated circuit packages and integration of a state machine or microprocessor control unit on a single integrated circuit has many production and utilization benefits.